#ifndef ARRAY_INT_PARAM_H
#define ARRAY_INT_PARAM_H

#include "SingleIntParam.h"
#include "InvalidIndex.h"
#include "Util.h"

class ArrayIntParam: public Param {
protected:
	SingleIntParam *values;
	int size;
	char label;

	SingleIntParam &get( int i ) throw (InvalidIndex, NotReady);

public:
	ArrayIntParam();
	ArrayIntParam( int size, char iName, const char *name );
	ArrayIntParam( ArrayIntParam &src );
	~ArrayIntParam();
	
	void read( Input &input ) throw (NotReady);
	
	SingleIntParam &operator [] (int i) throw (InvalidIndex, NotReady);

	void setSize( int size ) throw (NotReady, Exception);
	void setLabel( char label ) throw (NotReady);
	int getSize() throw (NotReady);
	char getLabel() throw (NotReady);
};

#endif